home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / chptrd.z / chptrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHPPPPTTTTRRRRDDDD((((3333FFFF))))                                                          CCCCHHHHPPPPTTTTRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CHPTRD - reduce a complex Hermitian matrix A stored in packed form to
  10.      real symmetric tridiagonal form T by a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CHPTRD( UPLO, N, AP, D, E, TAU, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, N
  18.  
  19.          REAL           D( * ), E( * )
  20.  
  21.          COMPLEX        AP( * ), TAU( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      CHPTRD reduces a complex Hermitian matrix A stored in packed form to real
  25.      symmetric tridiagonal form T by a unitary similarity transformation: Q**H
  26.      * A * Q = T.
  27.  
  28.  
  29. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  30.      UPLO    (input) CHARACTER*1
  31.              = 'U':  Upper triangle of A is stored;
  32.              = 'L':  Lower triangle of A is stored.
  33.  
  34.      N       (input) INTEGER
  35.              The order of the matrix A.  N >= 0.
  36.  
  37.      AP      (input/output) COMPLEX array, dimension (N*(N+1)/2)
  38.              On entry, the upper or lower triangle of the Hermitian matrix A,
  39.              packed columnwise in a linear array.  The j-th column of A is
  40.              stored in the array AP as follows:  if UPLO = 'U', AP(i + (j-
  41.              1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-
  42.              j)/2) = A(i,j) for j<=i<=n.  On exit, if UPLO = 'U', the diagonal
  43.              and first superdiagonal of A are overwritten by the corresponding
  44.              elements of the tridiagonal matrix T, and the elements above the
  45.              first superdiagonal, with the array TAU, represent the unitary
  46.              matrix Q as a product of elementary reflectors; if UPLO = 'L',
  47.              the diagonal and first subdiagonal of A are over- written by the
  48.              corresponding elements of the tridiagonal matrix T, and the
  49.              elements below the first subdiagonal, with the array TAU,
  50.              represent the unitary matrix Q as a product of elementary
  51.              reflectors. See Further Details.  D       (output) REAL array,
  52.              dimension (N) The diagonal elements of the tridiagonal matrix T:
  53.              D(i) = A(i,i).
  54.  
  55.      E       (output) REAL array, dimension (N-1)
  56.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  57.              A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHPPPPTTTTRRRRDDDD((((3333FFFF))))                                                          CCCCHHHHPPPPTTTTRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      TAU     (output) COMPLEX array, dimension (N-1)
  75.              The scalar factors of the elementary reflectors (see Further
  76.              Details).
  77.  
  78.      INFO    (output) INTEGER
  79.              = 0:  successful exit
  80.              < 0:  if INFO = -i, the i-th argument had an illegal value
  81.  
  82. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  83.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  84.      reflectors
  85.  
  86.         Q = H(n-1) . . . H(2) H(1).
  87.  
  88.      Each H(i) has the form
  89.  
  90.         H(i) = I - tau * v * v'
  91.  
  92.      where tau is a complex scalar, and v is a complex vector with v(i+1:n) =
  93.      0 and v(i) = 1; v(1:i-1) is stored on exit in AP, overwriting A(1:i-
  94.      1,i+1), and tau is stored in TAU(i).
  95.  
  96.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  97.      reflectors
  98.  
  99.         Q = H(1) H(2) . . . H(n-1).
  100.  
  101.      Each H(i) has the form
  102.  
  103.         H(i) = I - tau * v * v'
  104.  
  105.      where tau is a complex scalar, and v is a complex vector with v(1:i) = 0
  106.      and v(i+1) = 1; v(i+2:n) is stored on exit in AP, overwriting A(i+2:n,i),
  107.      and tau is stored in TAU(i).
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.